package com.per.mybootall.common;


/*
 * @Author yyy
 * @Date  2021/11/5
 * @Param
 * @Return 不写switch【在需要cash的时候直接通过枚举获取到枚举对应的内部类，在内部类里重写抽象方法来完成对应的业务操作，避免了繁杂的switch操作】
 */
public enum payTypeEnum {
    ALIPAY("支付宝支付") {
        @Override
        public String test1(Integer money){
            if(money>10){
                return "支付宝余额不足";
            }else{
                return "支付宝支付成功";
            }
        }
    },

    WECHAT("微信支付") {
        @Override
        public String test1(Integer money){
            if(money>10){
                return "微信余额不足";
            }else{
                return "微信支付成功";
            }
        }
    };
    private String type;
    private String value;


    payTypeEnum(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    payTypeEnum(String type, String value) {
        this.type = type;
        this.value = value;
    }

    public static payTypeEnum getNameByType(String type){
        for (payTypeEnum payType: payTypeEnum.values()){
            if(payType.getType().equals(type)){
                return payType;
            }
            //System.out.println(payType.);
        }
        return null;
    }

    public abstract String test1(Integer money);


}
